接下來是Windows的IDA使用方式,在這次的操作中,使用IDA Free就可以達成所需要的目的了。
一開始將程式丟進去之後,會是一個方塊狀的分析圖。
如果有條件轉跳也會在這個地方呈現。
空白鍵可以切換Text或Block模式。
快速點擊左方的Function name可以快速的轉跳到想看到的Function內容。
在Imports分頁可以看到這個程式使用了哪些Library。
還有很多功能,IDA是一個很直觀的圖形化介面,相信各位未來熟悉反編譯後只要摸一摸很快就能夠理解!
接著就要說到比較重要的Debugger功能,這是一個動態反編譯的功能。
首先要說的是Break point,就是設定節點,在希望程式暫停的地方按下左方的藍色小圈圈,當它變成紅色就表示成功了,未來在執行程式時,只要遇到這個點,程式就會暫停在這。
在IDA的上方有能夠選擇的Debugger方式,但IDA Free的選擇只有Local Windows debugger,不過這也蠻夠了,當然如果想做其他的方式也可以使用別的逆向工程軟體,例如x86dbg、WinDbg或OllyDbg等,甚至也可以用外掛神器Cheat Engine來做動態逆向工程。
按下綠色箭頭跑起來後,程式就會停留在我們設定的Break point,如果沒有設定中斷點,程式就會一直執行到使用者輸入或程式本身的等待點。
接著就是在Debugger選單當中的F7~F9以及F4和Ctrl+F7,這幾個都是控制程式執行的方式,和GDB的next、nexti、stepi、 step那些很像,不同的點在於IDA寫得很清楚,Continue process、Step into、Step over、Run util return和Run to cursor。
最後要介紹的是Windows選單,裡面可以單獨彈出希望查看的視窗,比如說打Pwn時最常用到的Stack view等等的。
以上這些對於逆向或找二進制漏洞都很有幫助,IDA還有很多的功能,如果有需要,可以買個Pro來用,會有偽程式碼等更多方便的功能。